Technical Field
The present disclosures relates to a system and method for process scheduling. More specifically, the present disclosure relates to a method and system for scheduling processes for calculation across one or more processing engines.
Description of the Related Art
Financial and investment organizations utilize computer-generated valuations of their trading position for a variety of purposes, such as, for example, to determine profit/loss and to manage market risk and exposure. Valuations may be performed as selected by a valuation request, which may include information identifying the financial instruments to be valuated as well as a context of the valuation. A valuation request may specify the valuation of all financial instruments for an organization, or may be something as simple as the valuation of a single financial instrument.
Valuation results may be generated by a process, such as a valuation engine, which may perform one or more calculations using mathematical models. Some valuations may be performed through the execution and invocation of one or more processes.
Each valuation calculation requires processing time, and, as a result, the number of calculations which may be performed may be limited by the availability of computing resources, such as the number of available computers and the amount of computing time available for processing. In some cases, lack of sufficient computing resources may adversely impact an organization's ability to determine and manage market risk.
In response, processes may support a valuation request including an indication to process sub-parts of the valuation request, thereby permitting segmentation of the calculation and creating the possibility and need for a scheduler to schedule and organize these calculations. If a valuation request is split into sub-parts, then each sub-part may be sent as a job to be executed, for example, in parallel, across a number of different machines and/or processes, which may be directed by the scheduler. The scheduler may use criteria to determine the most optimal schedule for submitting jobs to valuation engines that perform the requisite calculations for the valuations.